﻿using System.Collections.Generic;

namespace VeryGoodSync
{
    /// <summary>
    /// 同步提供程序，每个提供程序可能会被实例化多个
    /// </summary>
    public interface ISyncProvider
    {
        /// <summary>
        /// 初始化插件
        /// </summary>
        /// <param name="arguments">初始化参数，来自VeryGoodSync.xml->VeryGood->Job->Plugin[i]子节点，每个子节点的Key作为Key，InnerText作为Value</param>
        void Init(Dictionary<string, string> arguments);

        /// <summary>
        /// 执行同步
        /// </summary>
        /// <returns></returns>
        void Sync(string sourceDir);

        /// <summary>
        /// 杀死
        /// </summary>
        void Kill();

        /// <summary>
        /// 输出帮助文件
        /// </summary>
        /// <returns></returns>
        string Help();
    }
}
